package com.ruoyi;

import java.lang.Exception;
import java.lang.StackTraceElement;

public class HouseException extends Exception {
  protected String errCode = HouseErrorMsg.ERR_DEFAULT;
  protected String errMsg = HouseErrorMsg.getMessage(HouseErrorMsg.ERR_DEFAULT);



  /**
   * 默认构造函数。
   */
  public HouseException() {
  }

  /**
   * 指定错误代码和错误信息的构造函数。
   * @param errCode 错误代码
   * @param errMsg 错误信息
   */
  public HouseException(String errCode, String errMsg) {
    super(errCode);
    this.errCode = errCode;
    this.errMsg = errMsg;
  }

  public HouseException(String errCode, String errMsg,Exception ex) {
    super(errCode);
    this.errCode = errCode;
    this.errMsg = errMsg;
    StackTraceElement[] exEl = ex.getStackTrace();
    this.setStackTrace(exEl);
  }


  public HouseException(String errCode) {
    super(errCode);
    this.errCode = errCode;
    syncErrMsg();
  }

  /**
   * 设置错误代码。
   * @param errCode 错误代码
   */
  public void setErrCode(String errCode) {
    this.errCode = errCode;
  }

  /**
   * 设置错误信息。
   * @param errMessage 错误信息
  */
  public void setErrMsg(String errMessage) {
    this.errMsg = errMessage;
  }

  /**
   * 获取错误代码。
   * @return String 错误代码。
   */
  public String getErrCode() {
    return this.errCode;
  }

  public String getMessage() {
	     return this.errMsg;
  }
  /**
    * 获取错误信息。
    * @return String 错误信息。
   */
   public String getErrMsg() {
     return this.errMsg;
   }

   public void syncErrMsg() {
   	if(this.errCode!=null)
     this.errMsg=HouseErrorMsg.getMessage(this.errCode);

  }

  /**
   * 得到错误提示信息
   * @return String
   */
  public String toString() {
    if(errCode!=null)
      return errCode+":"+errMsg;
    else
      return errMsg;
  }

}
